from django import forms
from django.forms import ModelForm
from models import Gobernanza, Participantes, Financiacion, BuenasPracticas, Indicadoresselc
from universidades.models import Universidad

class BuenasPracticasform(forms.Form):
	universidad = forms.IntegerField()
	fecha_desde = forms.DateField()
	fecha_hasta = forms.DateField(required=False)
	dimension = forms.IntegerField()
	iniciativa = forms.CharField()
	objetivo = forms.CharField(required=False)
	desarrollo = forms.CharField(required=False)
	fases = forms.CharField(required=False)
	factores = forms.CharField(required=False)
	valoracion = forms.CharField(required=False)

	def save(self):
		data = self.cleaned_data

		bp = BuenasPracticas()
		bp.universidad = Universidad.objects.get(pk= data['universidad'])
		bp.fecha_desde = data['fecha_desde']
		bp.fecha_hasta = data['fecha_hasta']
		bp.dimension = data['dimension']
		bp.iniciativa = data['iniciativa']
		bp.objetivo = data['objetivo']
		bp.desarrollo = data['desarrollo']
		bp.fases = data['fases']
		bp.factores = data['factores']
		bp.valoracion = data['valoracion']
		bp.save()
		
		return bp.pk

	def is_valid(self):
		valid = super(BuenasPracticasform, self).is_valid()
		data = self.cleaned_data
		if not valid:
			return valid
		else:
			return True
	
class Gobernanzaform(forms.Form):
	tipo=forms.IntegerField(required=False)
	descriptcion=forms.CharField(required=False)

	def save(self):
		data = self.cleaned_data

		gf= Gobernanza()
		gf.tipo= data['tipo']
		gf.descriptcion = data['descriptcion']
		gf.save()

		return gf.pk

	def is_valid(self):
		valid = super(Gobernanzaform, self).is_valid()
		data = self.cleaned_data
		if not valid:
			return valid
		else:
			return True

class Financiacionform(forms.Form):
	tipo=forms.IntegerField(required=False)
	descriptcion=forms.CharField(required=False)

	def save(self):
		data = self.cleaned_data

		ff= Financiacion()
		ff.tipo= data['tipo']
		ff.descriptcion = data['descriptcion']
		ff.save()

		return ff.pk

	def is_valid(self):
		valid = super(Financiacionform, self).is_valid()
		data = self.cleaned_data
		if not valid:
			return valid
		else:
			return True

class Participantesform(forms.Form):
	cantidad=forms.IntegerField(required=False)
	grado=forms.CharField(required=False)

	def save(self):
		data = self.cleaned_data

		pf= Participantes()
		pf.cantidad= data['cantidad']
		pf.grado = data['grado']
		pf.save()

		return pf.pk

	def is_valid(self):
		valid = super(Participantesform, self).is_valid()
		data = self.cleaned_data
		if not valid:
			return valid
		else:
			return True

class Indicadoresselcform(forms.Form):
	descripcion=forms.CharField(required=False)
	respuesta=forms.IntegerField(required=False)
	indicador=forms.CharField()


	def save(self):
		data = self.cleaned_data

		inds= Indicadoresselc()
		inds.descripcion= data['descripcion']
		inds.respuesta = data['respuesta']
		inds.indicador= data['indicador']
		inds.save()

		return inds.pk

	def is_valid(self):
		valid = super(Indicadoresselcform, self).is_valid()
		data = self.cleaned_data
		if not valid:
			return valid
		else:
			return True